Extensible Markup Language (XML) has gained wide popularity in recent years, especially in the field of Web development. XML is a universal language that provides a way to identify, exchange, and process various kinds of data. For example, XML is used to create documents that can be utilized by a wide variety of computer application programs. On the Internet, for example, information and data may be distributed among incompatible information repositories using XML. XML provides a mechanism for exchanging data with these entities in a mutually understood fashion.
When passing data between programs, instructions in an XML document may be implemented as an XML stream. An XML stream may contain XML instructions to act on the data. Implementing XML instructions as an XML stream allows the instructions to be transmitted between two locations using a network, such as a Local Area Network (LAN) or the Internet.
An XML schema may be used to define an XML stream. An XML schema comprises of a set of rules written in XML that define the structure of an XML stream. For example, an XML schema may define data types, which may be associated with XML element types and attributes. An XML schema may also describe the structure and constrain the contents of XML streams.
Conventional XML schemas, however, add overhead to an XML stream that transmits data between locations. This overhead causes the XML stream to be transmitted and interpreted slower than what may be desired.